package com.tenentia.pcmps.swm.data.interfaces;

import java.util.Date;
import java.util.List;

import com.tenentia.pcmps.swm.data.DataAccessException;
import com.tenentia.pcmps.swm.data.DataAccessObject;
import com.tenentia.pcmps.swm.data.beans.InsurancePolicyMarketingPromotion;

/**
 * 
 * @author tEnEntia, S.L.N.E.
 * 
 */
public interface MarketingPromotionsDAO extends DataAccessObject {
	
	public void delete(InsurancePolicyMarketingPromotion promotion) throws DataAccessException;

	public InsurancePolicyMarketingPromotion get(InsurancePolicyMarketingPromotion promotion) throws DataAccessException;
	
	public List<InsurancePolicyMarketingPromotion> getAvailableMarketingPromotions(Date date) throws DataAccessException;
	
	public List<InsurancePolicyMarketingPromotion> getTableItemsByRange(Object filterParameters, Object sortParameters, Integer firstRow, Integer numberOfRows) throws DataAccessException;

	public Integer getTableRowCount(Object filterParameters) throws DataAccessException;

	public InsurancePolicyMarketingPromotion save(InsurancePolicyMarketingPromotion promotion) throws DataAccessException;

	public InsurancePolicyMarketingPromotion update(InsurancePolicyMarketingPromotion promotion) throws DataAccessException;

}
